#ifndef COMMONPAGE_H
#define COMMONPAGE_H

#include <QWidget>
#include <QMediaPlaylist>
#include "musiclist.h"

enum PageType
{
    LIKE_PAGE,
    LOCAL_PAGE,
    HISTORY_PAGE  // 喜欢，本地，历史三个页面
};

namespace Ui {
class CommonPage;
}

class CommonPage : public QWidget
{
    Q_OBJECT

public:
    explicit CommonPage(QWidget *parent = nullptr);
    ~CommonPage();

    // 初始化页面
    void setCommonPageUi(const QString& title, const QString& image);
    // 设置页面
    void setMusicListType(PageType pageType);
    // 添加音乐保存
    void addMusicToMusicPage(MusicList& musicList);
    // 音乐添加到界面
    void reFresh(MusicList& musicList);
    // 播放列表添加到playlist
    void addMusicToPlayer(MusicList& musicList, QMediaPlaylist* playList);
    const QString& getMusicIdByIndex(int index) const;
    // 设置列表图
    void setImageLabel(QPixmap pixMap);
signals:
    void updateLikeMusic(bool isLike,  QString musicId);
    // 播放所有按钮点击
    void playAll(PageType pageType);
    // 双击播放
    void playMusicByIndex(CommonPage*, int);
private:
    Ui::CommonPage *ui;
    PageType pageType;  // 标记页面
    QVector<QString> musicListOfPage;  // 存储具体页面的音乐id
};

#endif // COMMONPAGE_H
